package com.atguigu.gulimall.search.config;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;



/**
 * @author 860620068
 * @Date 2021/6/10 :9:57
 * @desceiption:
 *
 * 1.导入依赖
 * 2.编写配置,给容器中注入一个 RestHighLevelClient
 * 3.API操作  https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.4/java-rest-high.html
*/
@Configuration
public class GulimallElasticSearchConfig {

    public static final RequestOptions COMMON_OPTIONS;

    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
//        builder.addHeader("Authorization","Beanrer "+TOKEN);
//        builder.setHttpAsyncResponseConsumerFactory(
//                new HttpAsyncResponseConsumerFactory() {
//                    @Override
//                    public HttpAsyncResponseConsumer<HttpResponse> createHttpAsyncResponseConsumer() {
//                        return null;
//                    }
//                }
//        );
        COMMON_OPTIONS = builder.build();
    }
    @Bean
    public RestHighLevelClient esRestClient(){
        RestClientBuilder builder = null;
        builder = RestClient.builder(new HttpHost("192.168.56.10",9200,"http"));
        RestHighLevelClient client = new RestHighLevelClient(builder);



//        RestHighLevelClient client = new RestHighLevelClient(
//                RestClient.builder(new HttpHost("192.168.56.10", 9200, "http"))
//        );
        return client;
    }



}
